CloudTrail Lake から Amazon CloudWatch への移行
概要
このガイドでは、CloudTrail イベント分析のプライマリ送信先を AWS CloudTrail Lake から Amazon CloudWatch に移行するためのステップバイステップのアプローチを提供します。履歴データのエクスポート、テレメトリ有効化ルールによる新しい CloudTrail インジェストの有効化、クロスアカウント/クロスリージョンの集中管理のセットアップという構造化された 3 フェーズの移行を順を追って説明します。これにより、CloudWatch Unified Data Store で CloudTrail アクティビティをその他の運用およびセキュリティテレメトリと統合できます。このガイドでは、コスト見積もり、CloudTrail Lake SQL から CloudWatch Logs Insights へのクエリ変換、集中管理の料金最適化、ロググループのセキュリティベストプラクティス、ニアリアルタイムのセキュリティ可視性のためのダッシュボード構築についても説明します。
なぜ移行するのか?
現在 CloudTrail Lake を使用している組織は、共通の課題に直面しています。CloudTrail データが他の運用およびセキュリティテレメトリから分離されているため、インシデント調査が遅くなり、複数のツールやクエリ言語にまたがって断片化してしまいます。Amazon CloudWatch Unified Data Store は、CloudTrail アクティビティを VPC Flow Logs、AWS WAF ログ、アプリケーションログ、およびサードパーティのセキュリティデータと一元化されたリポジトリに集約することでこの問題を解決し、CloudWatch Logs Insights や Amazon Athena、Amazon Redshift などの Apache Iceberg 互換ツールを通じた相関分析を可能にします。
移行の主なメリット
- 統合テレメトリ: CloudWatch 統合データストアを通じて、単一のクエリインターフェイスで AWS サービス(CloudTrail、VPC Flow Logs、WAF、Route 53、EKS、NLB など)、サードパーティソース(CrowdStrike、SentinelOne、Okta、Palo Alto Networks など)、およびカスタムアプリケーションログにわたるログを相関させます。
- 自動スキーマ検出: CloudWatch は CloudTrail フィールドをデフォルトのファセットとともに自動的に検出してインデックス化します。
@data_source_name動的なロググループの検出に使用します。詳細については、データソースの検出と管理を参照してください。 - ロググループ名への依存なし: すべての CloudTrail データのクエリに使用します
SOURCE logGroups() | filterIndex @data_source_name in ["aws_cloudtrail"]ロググループの命名に関係なく適用されます。 - ネイティブエンリッチメント: CloudWatch Logs Transformation を使用して、カスタム Lambda 関数を使わずに取り込み時にセキュリティコンテキスト、コンプライアンスタグ、および環境ラベルを追加します。
- クロスアカウント/クロスリージョンの集約: すべてのアカウントとリージョンの CloudTrail データを単一の宛先に統合し、セキュリティ、コンプライアンス、およびインシデント対応に活用します。詳細については、クロスアカウントクロスリージョンのログ集約を参照してください。
- 単一プラットフォームでより多くの価値: CloudWatch の統合データストアは、スタンドアロンのクエリサービスを超え、AWS ログ、サードパーティのセキュリティソース、およびカスタムアプリケーションデータを、組み込みの正規化とクロスソース相関を備えた単一プラットフォームに統合します。
3 フェーズの移行アプローチ
移行は、構造化された 3 フェーズのアプローチに従います。

移行コストの見積もり
CloudTrail Lake から CloudWatch に移行すると、新しい CloudTrail イベントは継続的に CloudWatch Logs に直接取り込まれます。このような移行のコストへの影響を理解することは、予算計画とコスト最適化において重要です。
予測される月次 CloudWatch Logs コストを見積もるには、AWS Cost Explorer で CloudTrail サービスでフィルタリングし、使用タイプでグループ化することで、現在の CloudTrail Lake の使用状況を確認してください。イベントデータストアの CloudTrail Lake 使用タイプ(インジェストバイト数など)を特定するには、AWS Cost Explorer を使用した CloudTrail のコストと使用状況の表示を参照してください。Cost Explorer はインジェスト値を GB 単位で表示します。この値を使用して、CloudTrail 配信および CloudWatch Logs インジェストの最新のCloudWatch 料金に基づいて CloudWatch Logs インジェストコストを見積もることができます。
注意: この見積もりはインジェスチョンと配信コストのみを対象としており、ストレージやクエリなど CloudWatch Logs に関連する追加コストは含まれていません。
フェーズ 1 — CloudTrail Lake から CloudWatch への過去データのエクスポート
過去の CloudTrail Lake データを CloudWatch にエクスポートすることで、監査証跡の継続性が確保され、過去のイ ベントと新しいイベントにわたる統合クエリが可能になります。このフェーズでは、既存のイベントデータストア (EDS) から CloudWatch Logs へのデータ移行に焦点を当てます。
CloudTrail Lake データを CloudWatch にエクスポートしてエクスポートを実行する
-
CloudTrail コンソールに移動します。
-
左側のナビゲーションメニューで、Lake を選択します。
-
Event Data Stores を選択します。
-
CloudTrail イベント用の Event Data Store を選択します。
-
Actions ドロップダウンから、Export to CloudWatch を選択します。

-
イベントデータストアのデータをエクスポートする時間範囲を選択します。
-
提供された手順に従って IAM ロールを設定し、新しい IAM ロールを作成するか、CloudTrail がエクスポート用のデータにアクセスするために使用する既存の IAM ロールを指定します。
-
エクスポートを選択します。

エクスポートされたデータは低頻度アクセスストレージクラスを使用するため、ログ情報をクエリするには CloudWatch Logs Insights が必要です。低頻度アクセスストレージで作成されたロググループは、コンソールの Log Streams にエクスポート結果を直接表示しません。また、2023 年以前のデータを CloudTrail Lake から Amazon CloudWatch に移行することはできません。2023 年より古いイベントへのアクセスが必要な場合は、CloudTrail Lake 内で直接クエリを続けるか、データを S3 バケットにエクスポートすることができます。詳細については、CloudTrail Lake イベントデータストアから CloudWatch へのデータのエクスポートに関する以下のドキュメントを参照してください。また、AWS CloudTrail Lake イベントのサブセットを Amazon S3 にエクスポートする方法については、こちらのAWS ブログを参照してください。
フェーズ 2 — Telemetry Enablement Rules を使用した新しい CloudTrail インジェストの有効化
履歴の CloudTrail Lake データが CloudWatch でアクセス可能になったので、次のステップは新しい CloudTrail イベントをCloudWatch Unified Data Storeに直接取り込み始めることです。このステップは、既存の CloudTrail Trails や CloudTrail Lake イベントデータストアとは独立しています。CloudTrail のアクティビティが CloudWatch に流れ込む新しい専用パスを確立します。CloudWatch のテレメトリ設定機能を使用することで、CloudWatch を通じて CloudTrail イベントの自動取り込みを設定できます。有効にすると、すべての新しい CloudTrail イベントが他の運用およびセキュリティテレメトリと並んで配信され、統合されたクエリ、アラート、および分析の準備が整います。
CloudTrail のテレメトリ有効化ルールの作成
-
CloudWatch コンソールを開きます。
-
左側のナビゲーションペインで、Ingestion をクリックします。
-
Enable Resource Discovery ボタンをクリックします。
-
CloudWatch は必要なサービスにリンクされたロールを自動的に作成します。
-
Data Sources タブで、利用可能なサービスの一覧から AWS CloudTrail を見つけます。
-
AWS CloudTrail の横にある Configure telemetry を選択します。
-
Specify Scope ページで、デフォルトの Rule name をそのままにして Next を選択します。(注: 組織レベルのルールの場合、選択設定でソースアカウントのスコープを設定できます)。

-
[送信先の指定] ページで、次の手順を実行します。
- [送信先] については、デフォルトの CloudWatch Logs のままにします。
- [ロググループ名パターン] については、デフォルトのままにします。
aws/cloudtrail/[event-type]. - 保持期間については、コンプライアンス要件に応じた保持期間を選択してください。(注: CloudWatch から CloudTrail への統合は、ログをメンバーアカウントに直接配信します。ここで設定する保持期間は、各メンバーアカウントのロググループに適用されます。保持期間はソースロググループおよび集中ロググループとは異なる場合があります。詳細については、CloudWatch Logs 集中管理のログストレージコストの最適化のセクションを参照してください。)
-
次へを選択します。

-
[データオプションの選択] ページで、[イベントタイプ] に対して、取り込むイベントを選択します。[管理イベント] または [データイベント] のいずれかを選択してください。

-
次へを選択します。
-
確認と作成ページで、設定内容を確認し、CloudTrail の有効化を設定を選択します。
テレメトリ設定ルールが作成され、CloudTrail イベントの取り込みが開始されます。その後、以下の命名パターンでロググループが作成されます。
| イベントタイプ | ロググループ名パターン | 説明 |
|---|---|---|
| 管理イベント | aws/cloudtrail/managementevents | すべての管理イベント |
| データイベント | aws/cloudtrail/dataevents | すべてのデータイベント |